雙主模式
雙主模式是在主從模式的基礎上來完成。
雙主模式,只需要將目前的主節點128同步從節點129數據即可。
1、從服務器構建用于同步的用戶
#設置用于同步的用戶,比如128節點從129節點同步數據,那么用戶需要在129節點構建
CREATE USER repl_user IDENTIFIED BY '123456';
#給用戶設置權限?
GRANT REPLICATION SLAVE ON *.* TO ?'repl_user'@'%' identified by '123456';
FLUSH PRIVILEGES;
?
#查看用戶權限
show grants for 'repl_user'@'%';
2、查看從節點129日志名稱和同步起始位置
##查看master狀態,記錄二進制文件名File和位置Position,后面配從庫要用
show master status;
3、主節點128同步從節點129數據
mysql> CHANGE MASTER TO?
MASTER_HOST = '192.168.253.129', ?
MASTER_USER = 'repl_user',?
MASTER_PASSWORD = '123456',
MASTER_PORT = 3306,
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=154,
MASTER_RETRY_COUNT = 60,
MASTER_HEARTBEAT_PERIOD = 10000;?
?
# MASTER_LOG_FILE='mysql-bin.000005',#與主庫File 保持一致
# MASTER_LOG_POS=120 , #與主庫Position 保持一致
?啟動同步
#啟動同步
start slave;
#停止同步
stop slave;
4、查看128節點狀態
log_bin
?
設置此參數表示啟用binlog功能,并指定路徑名稱
?
log_bin_index
?
設置此參數是指定二進制索引文件的路徑與名稱
?
binlog_do_db
?
此參數表示只記錄指定數據庫的二進制日志
?
binlog_ignore_db
此參數表示不記錄指定的數據庫的二進制日志
?
max_binlog_cache_size
?
此參數表示binlog使用的內存最大的尺寸
?
binlog_cache_size
?
此參數表示binlog使用的內存大小,可以通過狀態變量binlog_cache_use和binlog_cache_disk_use來幫助測試。
?
binlog_cache_use:使用二進制日志緩存的事務數量
?
binlog_cache_disk_use:使用二進制日志緩存但超過binlog_cache_size值并使用臨時文件來保存事務中的語句的事務數量
?
max_binlog_size
?
Binlog最大值,最大和默認值是1GB,該設置并不能嚴格控制Binlog的大小,尤其是Binlog比較靠近最大值而又遇到一個比較大事務時,為了保證事務的完整性,不可能做切換日志的動作,只能將該事務的所有SQL都記錄進當前日志,直到事務結束
?
sync_binlog
?
這個參數直接影響mysql的性能和完整性
?
sync_binlog=0
?
當事務提交后,Mysql僅僅是將binlog_cache中的數據寫入Binlog文件,但不執行fsync之類的磁盤 同步指令通知文件系統將緩存刷新到磁盤,而讓Filesystem自行決定什么時候來做同步,這個是性能最好的。
?
sync_binlog=n,在進行n次事務提交以后,Mysql將執行一次fsync之類的磁盤同步指令,同志文件系統將Binlog文件緩存刷新到磁盤。
?
Mysql中默認的設置是sync_binlog=0,即不作任何強制性的磁盤刷新指令,這時性能是最好的,但風險也是最大的。一旦系統繃Crash,在文件系統緩存中的所有Binlog信息都會丟失
?